Modern business intelligence tools allow for the visual analysis of data so that technical or non-technical users can create charts through a variety of techniques. These techniques include selecting measures, dimensions, filters, and chart types (e.g., bar charts, pie charts, etc.) to create a chart, or creating a chart from an existing chart by performing a selection on the existing chart.
While these visualization generation approaches are relatively simple and easy to understand for a layperson, they also have several limitations. They tend to only be simple for basic charts (e.g., one dimension, measure, and filter). They can be quite complex to generate charts with multiple filters, for example. Additionally, they do not allow the user to reuse previous (e.g., existing) charts to compose new ones.